草庐IT

postgresql - 通用 REST API Golang

全部标签

postgresql - 更新字段创建新的外键项而不是更新它们

我有一个一对一的关系,位置,使用postgresql:typeAppstruct{gorm.ModelPersoIDstring`gorm:"primary_key;unique"json:"perso_id"`LocationOllyLocation`gorm:"foreignkey:location_id"`LocationID*uint`json:"-"gorm:"type:integerREFERENCESlocations(id)"`Users[]User`json:"users,omitempty"gorm:"many2many:app_users;"`}typeLocat

sql - 如何使用 golang 捕获新 postgreSQL 记录的事件

我有一个连接到数据库并可以从中获取数据的脚本当任何新记录添加到数据库表时,我能以某种方式通知我吗 最佳答案 您可以使用Postgresql的LISTEN/NOTIFY功能。使用"github.com/lib/pq",您可以轻松获取通知事件并对新的数据库事件使用react。这是一个example的执行。 关于sql-如何使用golang捕获新postgreSQL记录的事件,我们在StackOverflow上找到一个类似的问题: https://stackover

postgresql - Go语言,Postgres : cannot get oid after Scan

如果表accounts我有2列:oid和balance在接下来的代码中,我尝试提取oid,然后提取balance://variable`id`comesfromananotherpartsqlstr:=`SELECT*`+`FROMaccounts`+`WHEREoid=`+id+`;`q,err:=db.Query(sqlstr)iferr!=nil{fmt.Println("Error:GetAccount\n",err)returnAccount{},err}deferq.Close()var_idstringvarbalfloat64q.Next()q.Scan(&_id)fm

Golang通用数据库单条记录转json

我想从数据库中检索记录并将其编码为json。我有大约30个不同的表,所以我想要适用于所有这些表的通用函数。我使用xorm进行数据库访问。我已经设法创建了检索数据的DRY函数,这主要归功于这个question&answer这有效,可以将所有记录编码为json:typeuserstruct{Idint64`json:"id"`Namestring`json:"name"`}//typepost//etc.typetableRecordstruct{PrimaryKeystringDatainterface{}}varListOfTables=map[string]tableRecord{"

go - golang 中的通用处理 CRUD 操作

我正在尝试创建View来处理我的gorm模型上的所有基本CRUD操作。目标是将模型传递给View并让所有魔法发生。我找到了关于使用反射的主题,所以我做了,但也读到那不是“golang方式”。我处理的第一个问题是gorm始终使用“值”表。因此,临时解决方案是强制使用CommonView中的“用户”表或表名packagecontrollersimport("encoding/json""fmt""github.com/jinzhu/gorm""net/http""reflect")typeCommonViewstruct{db*gorm.DBmodelTypereflect.Typemod

go - 在 golang 中实现通用链表,它不允许在同一链表中使用不同类型

我想制作一个可以包含任何类型的值的链表,但该链表必须包含任何仅一种类型的值。一般来说,当我使用接口(interface)来实现这一点时——任何实现节点接口(interface)的类型都可以添加到链表中。我为此编写了一个实现,每当将新键添加到链表时,都会根据头部键的类型检查键的类型。我想了解这是实现它的正确方法还是有更好的方法。packagemainimport("errors""fmt""reflect""strings")typeMyNodestruct{valueint}func(node*MyNode)PrintValue(){fmt.Printf("%d",node.value

postgresql - 使用 PostgreSQL 和 json-api 的发布请求返回一个空体

在POST请求之后,我希望将最后插入的记录编码到json中,但却返回一个空主体。我做的不好吗?packagemodelsimport("encoding/json""errors""flag""fmt""log""net/http""strconv""github.com/go-chi/chi""github.com/google/jsonapi""github.com/thedevsaddam/renderer""github.com/xo/dburl")varrnd=renderer.New()varflagVerbose=flag.Bool("v",false,"verbose"

postgresql - 如何从 Go 中的 Cloud Function 连接到 Cloud-SQL?

对于一个项目,我正在尝试将云功能连接到云sql数据库设置,如thisquickstartguide中所述。.该功能配置在同一区域,服务帐户具有角色CloudSQL-Client。我通过我的计算机调用函数是这样的:gcloudfunctionscall--region=--data'{"recipient":"hello","requester":"hello","message":"test"}'与函数的连接正常,似乎只是对数据库的身份验证不起作用,但我不知道我失败的地方。我多次检查了密码、用户和连接名,重设了密码,还是不行。我发现了问题here与将云功能连接到云sql相关。我尝试用单

postgresql - 扫描 Postgres 复合类型

我定义了一个复合类型用于表中:CREATETYPEdurationAS(hoursNUMERIC,minutesNUMERIC);CREATETABLEfoo(idSERIALPRIMARYKEY,my_durationduration);INSERTINTOfoo(id,my_duration)VALUES(1,ROW(1,30));如何使用database/sql扫描它?当我用实现扫描仪接口(interface)时func(d*Duration)Scan(valueinterface{})error{log.Println(value)ifvalue==nil{*d=Duratio

postgresql - Postgres : Optimising concurrent same row updates

问题我正在使用PostgreSQLv10+golang,我认为这是一个非常常见的SQL问题:我有一个“计数器”表,它有一个current_value和一个max_value整数列。严格来说,一旦current_value>=max_value,我想放弃请求。我有几个Kubernetespod,每个API调用可能会将“计数器”表中同一行(在最坏情况下)的current_value增加1(可以被认为是分布式主机对同一数据库的并发更新)。在我当前和天真的实现中,对同一行的多个更新自然会相互阻塞(如果重要的话,隔离级别是“已提交读”)。在最坏的情况下,我每秒有大约10多个请求会更新同一行。这会